
<?php
include 'header.php';
// var_dump($_POST);
$groupe = $_POST['groupe'];
$lignes_cochees = $_POST['lignes_cochees'];
$tableau_general_serial = $_POST['majbdd'];

$tableau_general_avant = deserialiserTableau($tableau_general_serial);

echo '<div><a href="#actions">aller aux actions</a></div>';
echo '<div><a href="#bas">aller en bas de la page</a></div>';

///////////////////////////////////
//////// correction du tableau général par rapport aux cases cochées
///////////////////////////////////

echo "<br> listing des lignes cochees : <br>";
$llc = 1;
foreach ($lignes_cochees as $valeur_lignes_cochees) { ///////////////////////////////////////////
    echo $llc . " = " . $valeur_lignes_cochees . "</br>";
    $llc++;
}

$tableau_general = corrigTableauGeneral($tableau_general_avant, $lignes_cochees);

var_dump($tableau_general);

///////////////////////////////////
//////// MAJ de la BDD
///////////////////////////////////

echo "<br> while list action puis identifiant <br>"; ////////////////////////////////////


//$action="";
 reset($tableau_general);
 while (list($action) = each($tableau_general)) {
//foreach ($tableau_general as $action => $tableau_general[$action]) {

    echo "<hr><p>action = $action</p>"; /////////////////////////////////////////////////////////////////
//    var_dump($enregistrement);
    echo "<p>avant while identifiant</p>";

//    var_dump($tableau_general[$action]);
    while (list($identifiant) = each($tableau_general[$action])) {

        echo "<p>identifiant = $identifiant</p>"; /////////////////////////////////////////////////////////////////

        echo $tableau_general[$action][$identifiant][0] . "<br>"; //////////////////////////////////////////////

        $id = $tableau_general[$action][$identifiant][0];

        echo "<h3>Action $action de " . $tableau_general[$action][$identifiant][1] . "</h3>";
        switch ($action) {

            ///////////////// INSERT ////////////////////////////
            case "Insert":

                if ($groupe == "Eleves") {
                    $values_classe_insert = '", "' . $tableau_general[$action][$identifiant][7];
                } else { // groupe = Professeurs
                    $tableau_classes = getClassesCSV($tableau_general[$action][$identifiant]); // tab_classes
                    for ($nb_classes = 0; $nb_classes < count($tableau_classes); $nb_classes++) {
                        /////// mettre un if pour eviter la creation de doublons ?
                        $values_assignations = '("","' . $tableau_classes[$nb_classes] . '","' . $tableau_general[$action][$identifiant][0] . '")';
                        echo "<p>appel SQL Insert pr Assignations</p>";
                        bddInsert("beaufr2", "Assignations", $values_assignations);
                    }
                    $values_classe_insert = "";
                }

                $values_insert = '("' . $tableau_general[$action][$identifiant][0];
                $values_insert .= '", "' . $tableau_general[$action][$identifiant][1];
                $values_insert .= '", "' . $tableau_general[$action][$identifiant][2];
                $values_insert .= '", "' . $tableau_general[$action][$identifiant][3];
                $values_insert .= '", "' . $tableau_general[$action][$identifiant][4];
                $values_insert .= '", "' . $tableau_general[$action][$identifiant][5];
                $values_insert .= $values_classe_insert . '")';

                echo "<p>appel SQL Insert pr Eleves ou Profs</p>";
                bddInsert("beaufr2", $groupe, $values_insert);

                break;

            ///////////////// UPDATE ////////////////////////////
            case "Update":

                if ($groupe == "Eleves") {
//                     $values_classes_u = '","' . $tableau_general[$action][$identifiant][6];
                } else { // groupe = Professeurs
                    $tableau_classes = getClassesCSV($tableau_general[$action][$identifiant]); // tab_classes
                    /// update = DELETE + insert
                    $champs_assignations = nomChamp("beaufr2", "Assignations");
                    $where_id = $champs_assignations[2] . '="' . $tableau_general[$action][$identifiant][0] . '"';

                    echo "<p>appel SQL Update Delete pr Assignations</p>";
                    bddDelete("beaufr2", "Assignations", $where_id);


                    /// update = delete + INSERT
                    for ($nb_classes = 0; $nb_classes < count($tableau_classes); $nb_classes++) {
                        /////// mettre un if pour eviter la creation de doublons ?
                        $values_assignations = '("","' . $tableau_classes[$nb_classes] . '","' . $tableau_general[$action][$identifiant][0] . '")';

                        echo "<p>appel SQL Update Insert pr Assignations</p>";
                        bddInsert("beaufr2", "Assignations", $values_assignations);
                    }

                    for ($nb_classes = 0; $nb_classes < count($tableau_classes); $nb_classes++) {

                        // $champs_a = nom_champs("beaufr2", "Assignations");
                        // $where_id_in = $champs_a[2] . '="' . $tab_general[$a][$b][0] .'"';
                        // $values_a = '("","'. $tableau_classes[$cl] .'","'. $tab_general[$a][$b][0] .'")';
                        // bdd_insert("beaufr2", "Assignations", $values_a);
                        // $values_classes_i = "";
                    }
                }
                $champs_update = nomChamp("beaufr2", $groupe);

                $set = $champs_update[1] . '="' . $tableau_general[$action][$identifiant][1] . '"';
                $set .= ', ' . $champs_update[2] . '="' . $tableau_general[$action][$identifiant][2] . '"';
                $set .= ', ' . $champs_update[3] . '="' . $tableau_general[$action][$identifiant][3] . '"';
                $set .= ', ' . $champs_update[4] . '="' . $tableau_general[$action][$identifiant][4] . '"';
                $set .= ', ' . $champs_update[5] . '="' . jma2amj($tableau_general[$action][$identifiant][5]) . '"';

                if ($groupe == "Eleves") {
                    $set .= ", " . $champs_update[7] . '="' . $tableau_general[$action][$identifiant][7] . '"';
                }

                $where_id = $champs_update[0] . '="' . $tableau_general[$action][$identifiant][0] . '"';

                echo "<p>appel SQL Update pr Eleves ou Profs</p>";
                bddUpdate("beaufr2", $groupe, $set, $where_id);

                break;

            ///////////////// DELETE ////////////////////////////
            case "Delete":

                $champs_groupes = nomChamp("beaufr2", $groupe);
                $where_id = $champs_groupes[0] . '="' . $tableau_general[$action][$identifiant][0] . '"';

                echo "<p>appel SQL Delete pr Eleves ou Profs</p>";
                bddDelete("beaufr2", $groupe, $where_id);

                if ($groupe == "Professeurs") {
                    $tableau_classes = getClassesCSV($tableau_general[$action][$identifiant]); // tab_classes
                    $champs_assignations = nomChamp("beaufr2", "Assignations");
                    $where_id = $champs_assignations[2] . '="' . $tableau_general[$action][$identifiant][0] . '"';

                    echo "<p>appel SQL Delete pr Assignations</p>";
                    bddDelete("beaufr2", "Assignations", $where_id);
                    $values_classes_delete = "";
                }
                break;

            default :
            // echo "<p>Pas d'appel, ACTION inconnue ou non gérée</p>";
        }
    }
    echo "<br><p>Mise à jour de la BDD effectuée</p>";

    echo "<br>sortie du while identifiant"; ///////////////////////////////////////////////
}

echo "<br>sortie du while action"; ///////////////////////////////////////////////

var_dump($tableau_general);
?>		
<div id="bas"></div>

<form method="POST" action="generXML.php">
    <input type="hidden" name="generer" id="generer" value="<?php echo serialiserTableau($tableau_general) ?>">
    <input type="hidden" name="groupe" id="groupe" value="<?php echo $groupe ?>">
    <input type="hidden" name="titre" id="titre" value="csv2xml pour ILIAS - Generation du XML">
    <button type="submit">Générer le XML</button>
</form>             

</body>
</html>		